Preat 출시 후기 | 퀘스트에 참여하세요

Preat 출시 후기
프로젝트 회고

Preat 출시 후기

#Preat #맛집 #맛집추천 #맛집어플 #전국맛집 #맛집공유 #개발후기 #출시회고 #플랫폼

작성일 : 23.12.06 09:09

0

0

0

👉 본문을 50%이상을 읽으면 '여기까지다' 퀘스트가 완료됩니다(로그인 필수)

제품명

Preat

개발기간

-

🍰 Preat은 사용자의 입맛에 딱 맞는 맛집을 추천해주는 서비스입니다. 일반적인 맛집 추천 서비스와의 차별점은, 리뷰나 평점에만 의존하지 않는다는 점입니다. 맛집 검색 중에 수많은 리뷰 중에서 어떤 것이 진짜인지, 어떤 것이 광고인지 구분하기 어려운 점, 그리고 높은 평점을 받은 식당이라도 개인의 입맛과는 잘 맞지 않을 수 있는 문제를 인식하였습니다. 이런 고민에서 출발하여, '선택지가 많아서 식당 선택이 힘들다'는 가정하에 Preat은 사용자에게 지역별로 한번에 최대 8개의 식당을 추천해줍니다. 제한적인 선택지를 제공함으로써, 사용자는 선택의 고민을 줄이고 자신의 입맛에 더 빠르게 접근할 수 있습니다. 또한 '사람마다 입맛이 다르다'는 팩트를 바탕으로 서비스 내에서는 다른 사람의 별점을 볼 수 없고, 오직 사용자가 직접 평가한 별점과 그 사용자를 위한 '예상 별점'만을 확인할 수 있게 하여, 개인의 입맛에 집중한 서비스를 제공합니다. Preat은 이러한 사용자의 불편함과 고민을 해결하고자 탄생했으며, 출시 후 꾸준하게 유의미한 사용자 수를 기록하고 있고, 앞으로 서비스의 안정성이 개선되고, 기능이 고도화되면 이용자수는 점차 더 증가할 것으로 전망하고 있습니다.

개발 회고

😀 자신과 팀소개를 부탁드립니다.

안녕하세요!, 저는 Preat의 COO이자 모바일 개발(Android & iOS)을 맡고 있는 김원석이라고 합니다.

저희 Preat은 강명오 대표 (AI 개발, 기획, 마케팅 등)가 작년 소프트웨어 마에스트로 13기에서 진행했던 맛집 추천 프로덕트를 새롭게 디벨롭하여

올해 1월 초 새롭게 합류한 저와 백엔드 팀원(이상현, 백엔드 개발)이 데이터를 기반으로 사람들의 식생활을 변화시키고자 Preat 팀을 구성하게 되었고,

해커톤과 여러 창업 경진 대회에 출전하며 호흡을 맞추고 올해 5월에는 사업자를 내어 본격적인 사업체로 성장해나가고 있습니다.

그리고, 저희 팀원 모두 엄청난 ‘맛집매니아’여서, 중요한 일정이 끝날 때마다 Preat 앱을 이용해 회식 장소를 정하고 있습니다😋

🤗 프로덕트 소개좀 해주세요~

🍰 Preat은 사용자의 입맛에 딱 맞는 맛집을 추천해주는 서비스입니다.

일반적인 맛집 추천 서비스와의 차별점은, 리뷰나 평점에만 의존하지 않는다는 점입니다.

맛집 검색 중에 수많은 리뷰 중에서 어떤 것이 진짜인지, 어떤 것이 광고인지 구분하기 어려운 점,

그리고 높은 평점을 받은 식당이라도 개인의 입맛과는 잘 맞지 않을 수 있는 문제를 인식하였습니다.

이런 고민에서 출발하여, '선택지가 많아서 식당 선택이 힘들다'는 가정하에 Preat은 사용자에게 지역별로 한번에 최대 8개의 식당을 추천해줍니다.

제한적인 선택지를 제공함으로써, 사용자는 선택의 고민을 줄이고 자신의 입맛에 더 빠르게 접근할 수 있습니다.

또한 '사람마다 입맛이 다르다'는 팩트를 바탕으로 서비스 내에서는 다른 사람의 별점을 볼 수 없고, 오직 사용자가 직접 평가한 별점과 그 사용자를 위한 '예상 별점'만을 확인할 수 있게 하여, 개인의 입맛에 집중한 서비스를 제공합니다.

Preat은 이러한 사용자의 불편함과 고민을 해결하고자 탄생했으며, 출시 후 꾸준하게 유의미한 사용자 수를 기록하고 있고,

앞으로 서비스의 안정성이 개선되고, 기능이 고도화되면 이용자수는 점차 더 증가할 것으로 전망하고 있습니다.

🤝 팀원분들은 어떻게 만나셨나요?

저희 세 명은 사실 중학교 시절부터의 친구이자 동창입니다 :)

저희는 대학 진학 후에도 서로 종종 연락을 주고 받았으며, 창업에 관심이 컸던 저희가 마침 AI와 데이터 분석, 모바일 개발, 백엔드 개발 경험이 있었고,

이런 공통된 목표와 서로 다른 전문성이 모여 올해1월 초부터 Preat 프로젝트 기획에 동참하게 되었고, 그렇게 현재의 팀이 구성되어 지금까지 함께 해오고 있습니다.

😱 개발은 어떻게 진행이 됬나요?

초기 Preat 서비스 개발 단계에서는 안드로이드 플랫폼을 중심으로 Kotlin을 사용하여 개발을 시작하였습니다.

그러나 Preat iOS 버전의 출시도 필요해지면서, Swift 네이티브로 새로운 iOS 버전을 개발하는 것에 대한 초기 러닝 커브 및 개발 시간을 고려하여

Kotlin 개발 경험이 있었던 저는 Kotlin Multiplatform을 통해 두 플랫폼 모두를 개발하기로 결정하였습니다.

고객은 맛집에 관심이 많은 모든 대학생 및 유학생들로 정의하였습니다.

서비스 개발 초기 단계에는 사전 랜딩페이지 수요조사를 통해 맛집 추천을 서비스할 서울 주요 대학가 상권을 선정하였고,

그렇게 선정된 지역들(건대, 신촌, 왕십리, 서울대입구, 덕성여대 등)의  개인별 맞춤 식당 추천을 현재 Preat 앱에서 제공해주고 있습니다.

(서비스 지역은 점차 확대될 예정입니다!)

테스트 방식은 코드 단에서는 Unit Test를 통해 API 로직을 점검하고,

정식 배포 전에는 베타 버전의 앱을 내부 테스터들에게 배포 후 에러가 발생할 때마다 Jira를 활용하여 티켓을 발행, 이슈 추적 및 해결을 진행하였습니다.

이후 최종 내부 QA 과정을 거친 후 배포를 하고 있습니다.

개발 첫 번째 단계는 설계였습니다.

아무래도 초기 스타트업 서비스인만큼 잦은 기능 변경이 일어날 수 있고, 기능이 점차 고도화될텐데, 구조화된 아키텍처가 없다면 시간이 지남에 따라 소프트웨어를 유지 보수, 개선함에 있어서 상당한 리소스가 낭비될 수 있음을 알았습니다.

따라서 플랫폼(iOS, Android) 별로 모듈을 분리하고, 공통된 로직에 대해서는 철저한 클린 아키텍처 구조로 프로젝트 설계를 진행하였습니다.

이후에는 MVI 아키텍처를 적용하여 서비스가 복잡해지면서 기존 MVVM에서 발생할 수 있는 상태 문제와 부수 효과를 잘 컨트롤하게 되었습니다.

마지막으로 프로젝트를 진행하면서 느꼈던 부분은 단순히 개발 뿐만 아니라 개발 외적인 부분들이 굉장히 중요하다는 것을 깨달았습니다.

저희 팀은 스크럼을 도입하여 스프린트 기간을 설정하고 스프린트 계획 시에 스토리 포인트를 할당하여 목표들을 공유하며 스프린트 마무리 단계에 회고를 하여 피드백을 하는 과정도 거칩니다.

또 저희 팀이 도입한 ‘칭찬의 시간’ 세션을 통해 서로의 노력을 인정하고 서로를 칭찬하는 그 시간이 팀원 간의 소통 및 동기부여를 향상시키는 데에 큰 역할을 하고 있습니다 :)

👍 재미있었던 것은 무엇이었나요?

이번 Preat 서비스를 출시하기 전에 여러 번의 사이드 프로젝트를 경험했었습니다.

사이드 프로젝트는 일회성, 단순히 포트폴리오를 보여주기 위해 기획 - 개발 - (출시) 단계가 끝이었다면,

실제 사업자를 내고, 서비스를 출시하면서 개발 및 출시에서 끝이 아니라, 지속적인 유지보수와 확장, 버그 수정, 사후 관리가 굉장히 중요하다는 것을 깨닫게 되었습니다.

또, 기능이나 도메인이 자주 변경되면서 아키텍처의 중요성을 더더욱 체감하게 되었습니다.

👎 아쉽거나 어려웠던 점은 무엇이었나요?

🤖 기존의 안드로이드 서비스

공식 런칭은 아니지만 Preat 서비스는 원래 Google Play 스토어에 안드로이드 버전 먼저 출시가 되었습니다. (2023.05.31)

Preat 안드로이드 버전 출시가 된 후 많은 사람들과 만나면서 가장 많이 들었던 말은..

“그래서 iOS는 언제 나와요?”

팀 내의 iOS 네이티브 개발 인력이 없었던 상황이었고, 그렇다고 새로운 iOS 개발자를 영입하기에는 시간적, 금전적 리소스가 부족하였습니다.

그렇게 제대로된 개발 경험이라고는 안드로이드 개발밖에 없던 제가 iOS 개발까지 맡게 되었습니다.

🤔 Flutter가 아니고 왜 Kotlin Multiplatform?

사실 걱정이 많았습니다. Preat의 iOS 프로덕트를 비교적 짧은 시간 안에 구현해내기 위해서 저에게는 iOS 네이티브, Flutter 개발을 새롭게 익히는 것보다

그나마 안드로이드 개발을 하면서 익숙했던 Kotlin으로 비즈니스 로직과 UI(물론 iOS는 아직 alpha)도 Compose로 공유할 수 있는

Kotlin Multiplatform & Compose Multiplatform 조합이 iOS 개발경험이 전무한 상태에서 프로덕트까지 만들어내야 하는 목표를

달성해내기에 더 수월할 것이라고 판단하였습니다.

아무래도 Kotlin + Compose Multiplatform으로 개발하다 보니 프레임워크 자체의 이슈도 많았고,

컴파일러, Garbage Collector 자체도 불안정하여 고해상도의 이미지를 로드할 때 앱이 튕기는 이슈가 상당히 많이 발생하였습니다.

또한, 지도와 같은 NaverMap SDK 외부 라이브러리도 iOS 따로, Android 따로 구현 후,

Kotlin Multiplatform의 공통 모듈에서 공통된 로직으로 관리하기 위한 작업이 꽤나 오래 걸렸던 것 같습니다.

💯 앞으로의 계획을 알려주세요

우선 빠른 시일 내에 앱이 종종 튕기는 등의 크리티컬한 이슈들을 전부 수정할 예정입니다.

또 회원가입 과정을 조금 더 간소화할 계획을 갖고 있으며, 맛집 ‘필터’ 기능을 추가한 Preat의 버전 2를 출시하기 위해 열심히 기획하고 있습니다.

🧑 💻 팀 구성원분들과 찍은 사진이나 추억할 것들이나 기타 공유하고싶으신 내용 말씀해주세요

Medium 글에 Preat 프로덕트를 기존의 안드로이드에서 Kotlin + Compose Multiplatform 으로 마이그레이션 한 과정에 대한 글도 작성해보았습니다.

많은 관심 부탁드리며, 언제든 커피챗 환영합니다 :)


https://medium.com/preat/%ED%85%8C%EC%8A%A4%ED%8A%B8-eafc76e723fa

개발팀 정보

Preat